package com.shumm.common;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @Description
 * @Author shumm
 * @Date 2023-11-17
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Result {
    private String status;
    private String msg;
    private Object data;
    private Object total;


    public static Result success() {
        // 返回操作成功的结果
        return new Result(Constants.CODE_200, "操作成功", null, null);
    }

    public static Result success(Object data) {
        // 返回操作成功的结果，并传入数据
        return new Result(Constants.CODE_200, "操作成功", data, null);
    }

    public static Result success(Object data, Object total) {
        // 返回操作成功的结果，并传入数据
        return new Result(Constants.CODE_200, "操作成功", data, total);
    }

    public static Result success(String msg, Object data) {
        // 返回操作成功的结果，并传入消息和数据
        return new Result(Constants.CODE_200, msg, data, null);
    }

    public static Result error() {
        // 返回操作错误的提示
        return new Result(Constants.CODE_500, "操作错误", "500", null);
    }

    public static Result error(String msg, Object data) {
        // 返回操作错误的提示，并传入消息和数据
        return new Result(Constants.CODE_500, msg, data, null);
    }

    public static Result error(String msg) {
        // 返回操作错误的提示，并传入消息
        return new Result(Constants.CODE_500, msg, null, null);
    }
}